<p>
Crispy Plotter has a simple plug-in system, which can run an
additional software module at run time.
The plug-ins are stored in a sub-folder named "Plugins". You can open the
plug-in menu by clicking on
<img src="res/icon_plugmenu.png" alt="Plug-in Menu" /> or by selecting 
<em>View &gt; Plug-ins</em> from the main menu. 
After selecting one entry, the plug-in is loaded up at once and will
display its main window.
</p>
<p>
If you want to learn more about the currently active plug-in, you can
click on <img src="res/icon_pluginfo.png"
alt="Plug-in Information" /> to display
the about window of the plug-in.<br />

Click on <img src="res/icon_plugconfig.png"
alt="Plug-in Configuration" /> to display
the configuration window of the plug-in. Note that not all plug-ins have a
configuration window.<br />
If the plug-in window should be hidden for some reason, click on <img
src="res/icon_plugplay.png" title="Plug-in window" /> to show
it again.
</p>
<h3>WaveOut Plug-in</h3>
<p>
The WaveOut plug-in works as a synthesizer interpreting functions as
sound waves. You can just "play" functions or export them as Microsoft Wave
file. By default the plug-in will play the interval from 0 to 1 on the x-axis
as 1 second long sound. For example you can play a damped 500 Hz tone with
the equation <span class="example">sin(500*x*pi) * exp(-4*x)</span>. Crispy
Plotter also features 4 built-in functions to generate sound waves:
sinwav(), triwav(), squwav() and sinwaves(). See section
<?php printPageLink("builtins"); ?> for more details.
</p>
<h3>FileDump Plug-in</h3>
<p>
With the plug-in FileDump you can export a range of function values to
a file. Set the left and right interval borders and the step size that
controls how many function values are used in the interval.
You can choose between binary
and text format. A file in text format has the following structure:
<p>
If you enabled <em>Write File Header</em> this will be added at the
beginning of the file:<br />
<span class="code">IntL=-1.00000000000000000000</span> Left interval<br />
<span class="code">IntR=1.00000000000000000000</span> Right interval<br />
<span class="code">StepSize=0.01000000000000000000</span> Step size<br />
<span class="code">Count=201</span> Number of values
( (IntR - IntL) / StepSize + 1)<br />
Function values:<br />
<span class="code">Value0=-0.00000000000315578000</span><br />
<span class="code">Value1=1.64772442727252096000</span><br />
<span class="code">Value2=-3.16467011212513536000</span><br />
...<br />
<span class="code">Value199=-0.00059878689029355000</span><br />
<span class="code">Value200=0.00000000000000106000</span><br />
</p>
A file in binary format uses IEEE floating point numbers with double precision
(64 bit per number). The byte order is in little endian format (Intel).
Exported files have the following structure:
<p>
If you enabled <em>Write File Header</em> this will be added at the
beginning of the file:<br />
<span class="code">&lt;64 bit floating point&gt;</span> Left interval<br />
<span class="code">&lt;64 bit floating point&gt;</span> Right interval<br />
<span class="code">&lt;64 bit floating point&gt;</span> Step size<br />
<span class="code">&lt;32 bit unsigned integer&gt;</span> Number of values<br />
Function values:<br />
<span class="code">&lt;64 bit floating point&gt;
&lt;64 bit floating point&gt;
&lt;64 bit floating point&gt;
&lt;64 bit floating point&gt;
...
&lt;64 bit floating point&gt;</span>
</p>
